home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
tex
/
tools
/
dvi_300b
/
treiber
/
dvinadel.lzh
/
dvinadel
/
lq850.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-20
|
4KB
|
124 lines
/*
LQ850
Beispiel-Ansteuerungsdefinitionsdatei für nadel.c
Version 1.0
Copyright (c) Markus Kohm, 1995
Es wird die Ansteuerung für einen EPSON-LQ850 definiert.
Dieser Drucker kann ohne Needle-Split maximal 360dpi*180dpi.
Bei horizontal 360dpi kann bei nebeneinanderliegenden Punkten der
zweite normalerweise nicht gedruckt werden.
Hier realisiert werden Auflösungen von 96dpi*96dpi bis 360dpi*360dpi.
Dabei werden nicht vorhandene Auflösungen emuliert.
Die Emulation von vertikal 360dpi kann über verschiedene Konstanten
gesteuert (oder z.B. für einen LQ850+ abgeschaltet) werden.
*/
#include "PRT_BASE.H" /* Benötigte Definitionen */
#define PRTname "LQ850" /* Druckername */
const char *PRTinit = "\002\033@";
const char *PRTreset = "\003\014\033@";
/*
Zwei Möglichkeiten 4fach-Druck einer Zeile zu verhindern:
a) Needlesplit-Modus in der Halfpoint-Emulation abschalten
b) Halfpoint-Emulation grundsätzlich durch Oder-Verknüpfung
statt Doppeldruck der Zeile
*/
#define NONEEDLESPLITATEMUHALFPOINT /* (a) */
#define EMUHALFPOINTBYOR /* (b) schaltet (a) ab */
/*
Mit den folgenden Definitionen wird festgelegt, ob der
Druckertreiber LANDSCAPE und/oder PORTRAIT beherrschen
soll.
(Es ist empfehlenswert einen Treiber für beides zu erzeugen.)
*/
#define PORTRAIT
#define LANDSCAPE
/*
Die Seitenformate
Es muß mindestens ein Format definiert sein.
Die Formate werden von oben nach unten abgearbeitet.
Das erste passende wird verwendet.
Wir kein passendes Format gefunden, wird immer das
letzte (im jeweiligen Modus) verwendet.
*/
PAGESIZE PAGEsize[] = {
/* A4-Format */
{ 0, 8268, 8268, /* Breite: 0" = 0mm bis 8.268" = 210mm */
0, 11693, MAXSIZE, /* Höhe: beliebig (tatsächliche Höhe: 11.693" = 297mm) */
false }, /* Portrait */
{ 0, 11693, MAXSIZE, /* Breite: beliebig */
0, 8268, 8268, /* Höhe: 0" = 0mm bis 8.268" = 210mm */
true } /* Landscape */
};
/*
Die Druckmodi
Es muß jeweils mindestens ein Modus definiert sein.
Die Modi werden von oben nach unten abgearbeitet.
Der beste passende wird verwendet.
*/
PRTVMODE PRTvmode[] = {
/* 360 lines per inch im 180lpi-Halbpunktemulationsmodus */
{ 360, EMUHALFPOINT, 113, 184,
NULL, NULL,
"\2\033J" },
/* 180 lines per inch im 180lpi-Normalmodus */
{ 180, EMUNORMAL, 56, 92,
NULL, NULL,
"\2\033J" },
/* 90 lines per inch im 180lpi-Zeilenverdopplungsmodus */
{ 90, EMUHALF, 28, 46,
NULL, NULL,
"\2\033J" },
/* 60 lines per inch im 180lpi-Zeilenverdreifachungsmodus */
{ 60, EMUTRIPLE, 19, 31,
NULL, NULL,
"\2\033J" },
/* 45 lines per inch im 180lpi-Zeilenvervierfachungsmodus */
{ 45, EMUQUAD, 14, 23,
NULL, NULL,
"\2\033J" }
};
PRTHMODE PRThmode[] = {
/* 60 dots per inch im 60dpi-24-Nadelmodus */
{ 60, EMUNORMAL, 7, 7,
"\3\033x\000", NULL,
3, 3, 1, "\2\033\\",
"\1\015",
3, "\3\033*\040" },
/* 90 dots per inch im 90dpi-24-Nadelmodus */
{ 90, EMUNORMAL, 11, 11,
"\3\033x\001", NULL,
3, 2, 1, "\2\033\\",
"\1\015",
3, "\3\033*\046" },
/* 120 dots per inch im 120dpi-24-Nadelmodus */
{ 120, EMUNORMAL, 14, 14,
"\3\033x\000", NULL,
3, 1, 1, "\2\033\\",
"\1\015",
3, "\3\033*\041" },
/* 180 dots per inch im 180dpi-24-Nadelmodus */
{ 180, EMUNORMAL, 21, 21,
"\3\033x\001", NULL,
3, 1, 1, "\2\033\\",
"\1\015",
3, "\3\033*\047" },
/* 360 dots per inch im 360dpi-24-Nadel-Needlesplit-Modus */
{ 360, NEEDLESPLIT, 43, 43,
"\3\033x\001", NULL,
4, 1, 2, "\2\033\\",
"\1\015",
3, "\3\033*\050" },
};
#include "nadel.c"